package org.jeecg.modules.manage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.dto.BankSetDTO;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.manage.entity.CaishuiTaskSettle;
import org.jeecg.modules.manage.vo.ServiceFeeVo;

/**
 * @Description: 任务结算
 * @Author: yfkj
 * @Date:   2023-02-20
 * @Version: V1.0
 */
public interface IMCaishuiTaskSettleService extends IService<CaishuiTaskSettle> {


    /**
     * 任务结算提交
     * @param caishuiTaskSettle
     */
    public Result<?> doSubmit(CaishuiTaskSettle caishuiTaskSettle, BankSetDTO bankSetDTO);

    /**
     *  异步处理代发完成之后的事件
     * @param orderNo 订单编号（业务参考号）
     */
    public void handleTaskSettle(String orderNo);

    /**
     * 计算下发服务费
     * @param idCard
     * @param amount
     * @param taxRate
     * @param taxRateTwo
     * @return
     */
    Result<ServiceFeeVo> handleServiceFee(String idCard, Double amount, Double taxRate, Double taxRateTwo);

}
